本文說明 YouTube Analytics API 和 YouTube Reporting API 存取 YouTube 數據分析資料的方式,以及兩者之間的相似與不同之處,協助您為應用程式選擇合適的 API。
這兩項 API 都可讓您擷取 YouTube 數據分析資料。此外,這兩項 API 都支援 YouTube 頻道擁有者和 YouTube 內容擁有者,每個人都能存取特定報表:
-
管道報表會顯示指定管道的使用者活動指標。
-
內容擁有者報表會彙整與特定 YouTube 內容擁有者連結的所有頻道指標。舉例來說,唱片公司可以擷取報表,其中會針對該公司所有藝人的 YouTube 頻道列出綜合統計資料。部分內容擁有者報表包含使用者活動指標,其他則包含收益和廣告成效相關指標。
部分內容擁有者也能透過 Reporting API 存取系統管理的廣告收益報表。系統代管報表中的資料只能透過 Reporting API 擷取。
所有 YouTube 數據分析和 YouTube Reporting API 要求,都必須獲得擁有要求資料的頻道或內容擁有者授權。
報告內容
API 擷取的報表包含兩種類型的資料:
-
維度是常見的資料匯總條件,例如使用者活動發生的日期或使用者所在的國家/地區。
在報表中,每列資料都有不重複的維度值組合。因此,每個資料列的維度值組合會做為該資料列的主鍵。
-
指標是使用者活動、廣告成效或預估收益的個別測量結果。使用者活動指標包括影片觀看次數和評分 (喜歡和不喜歡)。
為應用程式選擇合適的 API
- YouTube Analytics API
- YouTube Analytics API 支援即時指定查詢,可產生 YouTube 數據分析自訂報表。API 提供篩選和排序參數,因此呼叫應用程式不需要原生支援這些函式。
每個 API 要求都會指定要傳回資料的日期範圍。您也可以使用 API 擷取每週和每月的資料集。因此,呼叫應用程式不需要儲存擷取的資料集,也不需要匯總不同日期範圍的統計資料。 - YouTube Reporting API
- YouTube Reporting API 可擷取大量報表,內含頻道或內容擁有者的 YouTube 數據分析資料。適用於可匯入大型資料集,並提供篩選、排序及挖掘資料工具的應用程式。
每份報表都包含一組預先定義的欄位。您可以使用 API 安排報表作業,每項作業都會指定 YouTube 應產生的報表。YouTube 接著會產生每日報表,供您非同步下載。每份報表都包含特定 24 小時內的資料。
此外,YouTube 會自動為可在 YouTube 創作者工作室存取相應報表的內容擁有者,產生一組系統管理的報表。這些報表可讓您透過程式存取廣告收益資料。
受支援的報表
下表列出可透過 API 擷取的不同類型報表。你可以使用 YouTube Analytics API 進行指定查詢,並使用 YouTube Reporting API 取得大量報表。
一個 API 提供的資料可能不適用於另一個 API。舉例來說,YouTube Analytics API 可讓您每週或每月擷取使用者活動指標,但 YouTube Reporting API 則需要您自行匯總資料。另一方面,YouTube Reporting API 支援內容擁有者的資產報表,但 YouTube Analytics API 無法提供這類資料。
| 報表類型 | |
|---|---|
| 影片報表 | 支援頻道 (query 或 bulk) 和內容擁有者 (query 或 bulk)。 影片報表會提供與頻道影片或內容擁有者影片相關的所有使用者活動統計資料。舉例來說,這些報表會顯示影片的觀看次數。在 YouTube Analytics API 中,部分內容擁有者影片報表也會納入預估收益和廣告成效指標。 |
| 播放清單報表 | 支援頻道 (query 或 bulk) 和內容擁有者 (query 或 bulk)。 播放清單報表會提供與播放清單中影片觀看次數相關的統計資料。YouTube Reporting API 支援播放清單的觀眾續看率報表,但 YouTube Analytics API 不支援類似報表。 |
| 廣告成效報表 | 內容擁有者可使用 (query 或 bulk)。 廣告成效報表會提供影片播放期間放送廣告的曝光次數指標。這些指標會計算每次廣告曝光,而每次播放影片可能會產生多次曝光。 |
| 估算的收益報表 | 內容擁有者可大量使用。 預估收益報表會提供影片的預估總收益,包括來自 Google 售出廣告來源和非廣告來源的收益。這些報表也包含一些廣告成效指標。請注意,系統管理的報表包含實際收益。 |
| 資產報表 | 內容擁有者可大量使用。 資產報表會提供與連結至內容擁有者資產的影片相關的使用者活動指標。如果內容擁有者聲明影片與其資產相符,該影片就會納入內容擁有者的報表。影片可能是由內容擁有者或其他 YouTube 使用者上傳。 |
| 系統代管報表 | 內容擁有者必須有權存取 YouTube 創作者工作室「報表」選單中的相應報表,才能使用這項功能。 系統管理的報表提供資產和影片實際賺取的收益資料。另一份報表則會列出已聲明的影片,以及這些影片相符的資產。API 僅提供部分創作者工作室報表。 注意:如果內容擁有者有權在創作者工作室查看相應報表,YouTube 就會自動為他們產生系統管理的報表。因此,擷取這些報表的程序與清單中的其他報表類型不同。詳情請參閱系統管理報表的說明文件。 |
主要差異
下表重點列出 YouTube Analytics API 和 YouTube Reporting API 之間的重要差異。
| 功能 | YouTube Analytics API | YouTube Reporting API |
|---|---|---|
| 擷取資料的程序 | 每個 API 要求都會指定要傳回的維度和指標,以及要傳回資料的時間範圍。 | 應用程式會排定報表工作。YouTube 會為每個工作產生每日報表,可供非同步下載。 |
| 日期範圍 | 部分 API 報表會指定使用者活動發生的日期。部分報表支援維度,可按月匯總使用者活動指標。 | 所有 API 報表都會指定使用者活動發生的日期。使用 API 的應用程式可以實作相關功能,定期匯總資料。 |
| 篩選資料 | 您可以篩選報表,只納入維度具有特定值的資料列。API 也支援部分維度 (例如 continent 和 subContinent),這些維度僅做為篩選條件。 | 這個 API 支援大量下載完整資料集。不支援篩選,也不會傳回僅限篩選的維度資料。用戶端應用程式會儲存下載的資料,並實作自己的功能來篩選資料。 |
| 排序 | 報表可根據傳回的指標值排序。部分報表僅支援有限的結果數量。舉例來說,列出頻道觀看次數最多影片的報表最多會傳回 200 列。 | 這個 API 支援大量下載完整資料集。用戶端應用程式可以實作自己的功能,對下載的資料進行排序。 |
| 列舉 | API 報表包含「ANDROID」或「CHANNEL」等文字值,用於識別列舉維度值。 | API 報表包含可對應至文字值的整數。 |
| 配額 | API 伺服器會評估每個查詢,判斷其配額費用。「配額用量」一節會詳細說明計算方法。 | 配額用量不是問題,因為資料只會擷取一次,然後在應用程式中篩選、排序及查詢。 |
| 不重複的報表 |
|
|
| 不重複的維度 | group (僅限篩選的維度) continent (僅限篩選的維度) subContinent (僅限篩選的維度) month viewsPerPlaylistStart averageTimeInPlaylist |
annotation_id annotation_type asset_id card_id card_type live_or_on_demand subscribed_status subtitle_language |
| 不重複指標 | uniques relativeRetentionPerformance viewsPerPlaylistStart averageTimeInPlaylist |
card_click_rate card_clicks card_impressions card_teaser_click_rate card_teaser_clicks card_teaser_impressions estimated_partner_adsense_revenue estimated_partner_doubleclick_revenue playlist_saves_added playlist_saves_removed |
API 命名差異
這兩個 API 使用不同的命名慣例來識別維度和指標。YouTube Analytics API 名稱採用駝峰式大小寫,例如 adType。YouTube Reporting API 名稱一律為小寫,並使用底線,例如 ad_type。
下表列出這兩個 API 用於識別相同指標和維度的不同名稱。在某些情況下,這兩個名稱的差異會大於將名稱從 camelCase 轉換為底線後得到的結果。舉例來說,YouTube Analytics API 中的 video 維度在 YouTube Reporting API 中稱為 video_id。